// package main

// import (
// 	"bytes"
// 	"encoding/binary"
// 	"fmt"
// 	"math/rand"
// 	"net"
// 	"time"
// )

// type Packet struct {
// 	Len  int
// 	Data []byte
// }

// func NewPacket(data []byte) *Packet {
// 	return &Packet{
// 		Len:  len(data),
// 		Data: data,
// 	}
// }

// func (pack *Packet) LenBytes() []byte {
// 	bytesBuffer := bytes.NewBuffer([]byte{})
// 	binary.Write(bytesBuffer, binary.BigEndian, &pack.Len)
// 	return bytesBuffer.Bytes()
// }

// func main() {
// 	conn, err := net.Dial("tcp", "192.168.1.103:18001")
// 	if err != nil {
// 		fmt.Println("Client connect error ! " + err.Error())
// 		return
// 	}

// 	defer conn.Close()

// 	var buf [61234]byte

// 	for {
// 		rand.Read(buf[:])
// 		err := Send(conn, buf[:])
// 		// _, err := conn.Write(buf[:])
// 		// log.Printf("write len=%d, err=%v", length, err)
// 		if err != nil {
// 			panic(err)
// 		}

// 		time.Sleep(time.Second * 1)
// 	}

// }

// func Send(conn net.Conn, data []byte) error {
// 	dataLenBytes := make([]byte, 2)
// 	binary.BigEndian.PutUint16(dataLenBytes, uint16(len(data)))
// 	_, err := conn.Write(dataLenBytes)
// 	if err != nil {
// 		return err
// 	}
// 	_, err = conn.Write(data)
// 	if err != nil {
// 		return err
// 	}
// 	return nil
// }
